package org.csu.mypetstore.service;

import org.csu.mypetstore.domain.CartItem;
import org.csu.mypetstore.domain.Cart;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface CartService {

    /**
     *添加商品到购物车
     * @param userId 用户ID
     * @param itemId 商品ID
     * @param quantity 数量
     */
    @Transactional
    void addToCart(String userId, String itemId, int quantity);

    /**
     * 获取用户购物车中的所有商品项
     * @param userId 用户ID
     * @return 购物车商品列表（包含商品详情和总价）
     */
    //获取购物车项
    @Transactional(readOnly = true)
    List<CartItem> getCartItems(String userId);

    /**
     * 从购物车中移除指定商品
     * @param userId 用户ID
     * @param itemId 商品ID
     */
    @Transactional
    void removeFromCart(String userId, String itemId);//移除商品
    //更新商品
    void updateCartItem(String userId, String itemId, int quantity);

}